# 出一个7、8、9、10月，各组合装销售数量，并进行分类，日销量低于200组和≥200组的，并求出单量和占比。
# 按照单量分类一下 小于200的 和大于200

# "C:\Users\20231112\Desktop\需求1.xlsx"
# 筛选出7、8、9、10月份的销售数据
# 销售量计算
# 计算每个组合装的日销售数量
# 汇总各月份的总销售量
# 分类统计
# 按照日销量进行分类：
# 低销量组：< 200组/天
# 高销量组：≥ 200组/天
# 统计各类别的：
# 天数分布
# 销售总量
# 占比情况


#
# import pandas as pd
#
# # 读取数据
# df = pd.read_excel("C:/Users/20231112/Desktop/需求1.xlsx", sheet_name='全部')
#
#
# # 筛选7-10月数据
# df['日期'] = pd.to_datetime(df['日期'])
# df = df[df['日期'].dt.month.isin([7,8,9,10])]
#
# # 按日期和商家编码分组计算日销量
# daily_sales = df.groupby(['日期', '商家编码'])['销售量'].sum().reset_index()
#
# # 按日销量分类
# daily_sales['分类'] = daily_sales['销售量'].apply(lambda x: '低销量组(<200)' if x < 200 else '高销量组(≥200)')
#
# # 统计结果
# result = daily_sales.groupby('分类').agg(
#     天数=('日期', 'count'),
#     总销量=('销售量', 'sum')
# ).reset_index()
#
# # 计算占比
# result['天数占比%'] = (result['天数'] / result['天数'].sum() * 100).round(1)
# result['销量占比%'] = (result['总销量'] / result['总销量'].sum() * 100).round(1)
#
# print("销量分类统计结果：")
# print(result)
#
# # 月度汇总
# monthly_total = df.groupby(df['日期'].dt.month)['销售量'].sum()
# print("\n各月份总销量：")
# print(monthly_total)




import pandas as pd

# 读取数据
df = pd.read_excel(r"C:\Users\20231112\Desktop\需求1.xlsx", sheet_name='全部')

# 确保日期为日期类型
df['日期'] = pd.to_datetime(df['日期'])

# 筛选7、8、9、10月
df = df[df['日期'].dt.month.isin([7,8,9,10])]

# 添加年月列
df['年月'] = df['日期'].dt.to_period('M').astype(str)

# 按年月、平台、商家编码分组统计
grouped = df.groupby(['年月',  '商家编码']).agg(
    总销售量=('销量', 'sum')
    # 销售天数=('日期', 'nunique')
).reset_index()

# 计算日均销量
grouped['日均销量'] = (grouped['总销售量'] / 31).astype(int)
# 分类
grouped['分类'] = grouped['日均销量'].apply(lambda x: '低于200组' if x < 200 else '≥200组')

# 计算每个组合装在当月该平台的销量占比
# 先计算每个年月+平台的总销量
# 计算每个月份的总销量（包含所有平台）
monthly_total = grouped.groupby(['年月'])['总销售量'].transform('sum')
grouped['占比'] = (grouped['总销售量'] / monthly_total).apply(lambda x: f"{x:.4%}")


# 按年月、平台、日均销量排序
grouped = grouped.sort_values(['年月',  '日均销量'], ascending=[True,  False])

# 输出结果
print(grouped)

# 保存到Excel
grouped.to_excel(r"C:\Users\20231112\Desktop\组合装销售统计_按平台年月.xlsx", index=False)
